package com.syf.domain.store;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
*
*
*@author syf
*@create 2022-02-07 19:09
*/
/**
    * 软件发布(申请)
    */
@ApiModel(value="com-syf-domain-BsSoftwareRelease")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "bs_software_release")
public class BsSoftwareRelease  implements Serializable {
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value="id")
    private Integer id;

    /**
     * 表含义
     */
    @TableField(exist = false)
    @ApiModelProperty(value="表含义（0软件申请表，1软件管理表）")
    private Integer whatClass;

    /**
     * 是否推荐(编辑推荐：0推荐，1未推荐)
     */
    @TableField(value = "is_recommend")
    @ApiModelProperty(value="是否推荐(编辑推荐：0推荐，1未推荐)")
    private Integer isRecommend;

    /**
     * 软件名称
     */
    @TableField(value = "software_name")
    @ApiModelProperty(value="软件名称")
    private String softwareName;

    /**
     * 标志，用于暂时存储code
     */
    @TableField(value = "software_sign")
    @ApiModelProperty(value="标志，用于暂时存储code")
    private String softwareSign;


    /**
     * 软件code(唯一标识)  f发布之后由管理员授予
     */
    @TableField(value = "software_code")
    @ApiModelProperty(value="软件code(唯一标识)  f发布之后由管理员授予")
    private String softwareCode;


    /**
     * 软件logo
     */
    @TableField(value = "rj_logo")
    @ApiModelProperty(value="软件logo")
    private String rjLogo;

    /**
     * 软件小标题
     */
    @TableField(value = "rj_title")
    @ApiModelProperty(value="软件小标题")
    private String rjTitle;

    /**
     * 当前版本
     */
    @TableField(value = "version")
    @ApiModelProperty(value="当前版本")
    private String version;

    /**
     * 大小MB（decimal）
     */
    @TableField(value = "mb_size")
    @ApiModelProperty(value="大小MB（decimal）")
    private String mbSize;

    /**
     * 平均评分（decimal）   用户评论的时候计算平均值
     */
    @TableField(value = "avg_score")
    @ApiModelProperty(value="平均评分（decimal）")
    private String avgScore;

    /**
     * 应用详情
     */
    @TableField(value = "rj_details")
    @ApiModelProperty(value="应用详情")
    private String rjDetails;

    /**
     * 软件分类
     */
    @TableField(value = "small_class")
    @ApiModelProperty(value="软件分类ID")
    private Integer smallClass;

    /**
     * 所属分类(a>b)
     */
    @TableField(value = "to_category")
    @ApiModelProperty(value="软件分类名称")
    private String toCategory;

    /**
     * 软件图片1
     */
    @TableField(value = "a_logo")
    @ApiModelProperty(value="软件图片1【查看软件详细的轮播图片】")
    private String aLogo;

    /**
     * 软件图片2
     */
    @TableField(value = "b_logo")
    @ApiModelProperty(value="软件图片2")
    private String bLogo;

    /**
     * 软件图片3
     */
    @TableField(value = "c_logo")
    @ApiModelProperty(value="软件图片3")
    private String cLogo;

    /**
     * 软件发布状态（0软件检测中、1检测通过，2检测失败）
     */
    @TableField(value = "release_status")
    @ApiModelProperty(value="软件发布状态（0软件检测中、1检测通过，2检测失败）")
    private Integer releaseStatus;

    /**
     * 下载总次数（MQ/redis+Lua）
     */
    @TableField(value = "download_size")
    @ApiModelProperty(value="下载总次数（MQ/redis+Lua）")
    private Integer downloadSize;

    /**
     * 软件状态（0在线中，1已下线，2未收录）
     */
    @TableField(value = "status")
    @ApiModelProperty(value="软件状态（0在线中，1已下线，2未收录）")
    private Integer status;

    /**
     * 上传软件安装包
     */
    @TableField(value = "software_url")
    @ApiModelProperty(value="上传软件安装包")
    private String softwareUrl;

    /**
     * 软件介绍页面
     */
    @TableField(value = "software_info_url")
    @ApiModelProperty(value="软件介绍页面")
    private String softwareInfoUrl;

    /**
     * 属于哪个公司
     */
    @TableField(value = "company_id")
    @ApiModelProperty(value="属于哪个公司")
    private Integer companyId;

    /**
     * 公司名称（developer 开发者）
     */
    @TableField(value = "company_name")
    @ApiModelProperty(value="公司名称（developer 开发者）")
    private String companyName;

    /**
     * 发布时间
     */
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    @ApiModelProperty(value="发布时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value="更新时间")
    private Date updateTime;

    /**
     * 排序:
     *     默认(最新推荐)  0
     *     最近更新        1
     *     下载量          2
     *     评分            3
     */
    @TableField(exist = false)
    @ApiModelProperty(value="排序【0 默认(最新推荐)，1 最近更新， 2 下载量， 3评分】")
    private Integer orderByType;

    /**
     * 审核ID
     */
    @TableField(value = "audit_id")
    @ApiModelProperty(value="审核ID")
    private Integer auditId;
}
